<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>

</html>

<script>
    let promise = new Promise(function (resolve, reject) {
        setTimeout(() => {
          console.log("1");
          resolve();
        },0)
    });
    setTimeout(() => console.log("2"), 0);
    promise.then(() => console.log("3"));
    console.log("4");

    // 简单的理解，使用 promise 封装的异步请求，都属于微任务。

   

    // 同源策略
    // 协议，域名，和端口都相同，我们才称为是同源。只要有一个不相同的，我们都称为跨域。

    // http://192.168.31.34:8080/ 前端的服务地址；
    // http://192.168.31.34:3000/ 接口的服务端地址；
    
    // 以上两个地址，进行数据交互的时候，就会产生跨域。
    // 解决跨域 
    // 1.可以在服务端设置 cors 允许跨域。
    // 2.利用jsonp 进行跨域设置 （script，img, video 等标签的src是不存在跨域的）;
    // 3.服务器和服务器之间是不存在跨域的。

 
    // 对 2 解释
    // let axios = {
    //     get: (url) => {
    //         return new Promise((resolve, reject) => {
    //             let xmlrequest = new XMLHttpRequest(); // 原生的ajax 请求
    //             xmlrequest.open('GET', url);
    //             xmlrequest.onreadystatechange = function () {
    //                 // readyState 请求的状态码 2 请求连接成功 3 请求响应，4请求完成
    //                 //status 成功或者失败的状态码 200 代表成功 404 代表失败
    //                 // console.log(xmlrequest.readyState);
    //                 // console.log(xmlrequest.status);
    //                 if (xmlrequest.readyState == 4 && xmlrequest.status == 200) {
    //                     resolve(JSON.parse(xmlrequest.responseText))
    //                 }
    //             }
    //             xmlrequest.send();
    //         })
    //     }
    // }

    // axios.get('http://192.168.31.34:3000/axios').then(res => {
    //     console.log(res);
    // })

    function getData(val){
        
       console.log(val);
    }

</script>
<script src="http://192.168.31.34:3000/axios"></script>